#!/bin/sh
# Before running this script please ensure that your PATH is
# typical as you use for compilation/istallation. I use
# /bin /sbin /usr/bin /usr/sbin /usr/local/bin, but it may
# differ on your system.
#
PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH
echo '-- Versions installed: (if some fields are empty or look'
echo '-- unusual then possibly you have very old versions)'
uname -a
insmod -V  2>&1 | awk 'NR==1 {print "Kernel modules        ",$NF}'
echo "Gnu C                 " `gcc --version`
make --version 2>&1 | awk -F, '{print $1}' | awk \
      '/GNU Make/{print "Gnu Make              ",$NF}'
ld -v 2>&1 | awk -F\) '{print $1}' | awk \
      '/BFD/{print "Binutils              ",$NF}'
ls -l `ldd /bin/sh | awk '/libc/{print $3}'` | sed -e 's/\.so$//' \
  | awk -F'[.-]'   '{print "Linux C Library        " $(NF-2)"."$(NF-1)"."$NF}'
echo -n "Dynamic linker         "
ldd -v > /dev/null 2>&1 && ldd -v || ldd --version |head -1
ls -l /usr/lib/lib{g,stdc}++.so  2>/dev/null | awk -F. \
       '{print "Linux C++ Library      " $4"."$5"."$6}'
ps --version 2>&1 | awk 'NR==1{print "Procps                ", $NF}'
mount --version | awk -F\- '{print "Mount                 ", $NF}'
hostname -V 2>&1 | awk 'NR==1{print "Net-tools             ", $NF}'
# Kbd needs 'loadkeys -h',
loadkeys -h 2>&1 | awk \
'(NR==1 && ($3 !~ /option/)) {print "Kbd                   ", $3}'
# while console-tools needs 'loadkeys -V'.
loadkeys -V 2>&1 | awk \
'(NR==1 && ($2 ~ /console-tools/)) {print "Console-tools         ", $3}'
expr --v 2>&1 | awk 'NR==1{print "Sh-utils              ", $NF}'
X=`cat /proc/modules | sed -e "s/ .*$//"`
echo "Modules Loaded         "$X
